get default message processing functions
'
'
' ***** Initialize ****
'
SUB Initialize
XuiGetDefaultMessageFunctions (@func[])
XgrMessageNameToNumber (@"LastMessage", @upperMessage)
The Initialize subroutine first gets a copy of the default message processing functions in
func[] , and finds the highest message number, which it will soon need.
The default message processing functions give a grid basic, straightforward functionality
by routing common messages to standard message processing functions that handle the
messages in an obvious, direct, expected way. For example, XuiSetColor() is the standard
message processing function for message SetColor , and it sets any combination of
background, drawing, lowlight, highlight colors for the grid (a -1 argument means leave
unchanged).
establish message functions
func[#Callback] = &XuiCallback()
func[#GetSmallestSize] = 0
func[#Resize] = 0
Three message processing functions are changed from the default values established by
XuiGetDefaultMessageFunctions() :
func[#Callback] = &XuiCallback sets the message processing function for Callback
messages to &XuiCallback() . This is normal practice for "visual only grids"
- those without internal functionality. Whenever this function receives a Callback
message, XuiCallback() sends the message back to whatever function set itself as the
callback function for the XuiDialog2B grid whose kid produced the Callback message. When
GuiDesigner creates grid functions, it inserts this line of code. To give a visual grid
type functionality, remove this line, enable the sub[#Callback] = SUBADDRESS (Callback)
line a few lines below, and add code to the Selection and/or any other relevant callback
message processing subroutines (most callback messages are Selection messages).
func[#GetSmallestSize]=0 cancels default message processing function XuiGetSmallestSize()
for message GetSmallestSize . XuiGetSmallestSize() returns the original design size
because minWidth ,maxWidth ,minHeight ,maxHeight properties are set to the
designWidth,designHeight. This fixes the size of the grid, while XuiDialog2B is
supposed to be resizable. An internal GetSmallestSize subroutine replaces the
message function.
func[#Resize] = 0 cancels the default message processing function XuiResizeNot() for
message Resize . XuiResizeNot() does not resize grids and is therefore designed for
fixed-size "non-resizable" grids, while XuiDialog2B is resizable. An internal
Resize subroutine replaces the message function.